import store from '@/store/index.js'
import request from '@/common/lib/request.js'
import api from '@/common/lib/api.js'
export default {
	count:0,//点击9次进入debug模式
	// 更新tabbar角标
	updateCartBadge(count){
		if(count > 0){
			return uni.setTabBarBadge({
				index:2,
				text:count.toString()
			})
		}
		uni.removeTabBarBadge({
			index:2
		})
	},
	debug: function() {
		if (this.count == 0) {
			this.lastTime = new Date().getTime();
			this.count++;
		}
		if (this.count > 0) {
			let currTime = new Date().getTime();
			if (currTime - this.lastTime < 1000) {
				this.count++;
				this.lastTime = currTime;
				if (this.count == 7) {
					uni.showToast({
						title: '再点两次可选择ip地址',
						icon: 'none',
						position: "bottom"
					});
				} else if (this.count == 8) {
					uni.showToast({
						title: '再点一次可选择ip地址',
						icon: 'none',
						position: "bottom"
					});
				} else if (this.count == 9) {
					uni.navigateTo({
						url: '/pages/debug/debug',
						animationType:"pop-in"
					});
				}
			} else {
				this.count = 0;
				//uni.showToast({title: '次数已重置,请稍后重新点击',icon: 'none'});
			}
		}
	},
	//返回值： 0不需要更新 1整包更新 2热更新 3发生错误
	checkUpdate:function(callback){
		let data={version:store.state.version.versionNumber};
		if(store.state.version.platform=='ios'){
			request.get($api.checkForUpdatesIos_Url,data,{token:true}).then((res)=>{
				if(res){
					if(res.renew){//需要更新
						//设置版本更新内容到全局变量
						store.commit('setUpdateData',res);
						callback(1)
					}else{callback(0)}
				}else{callback(3)}
			}).catch(err => {
				plus.nativeUI.closeWaiting();
				callback(3)
			})
		}else if(store.state.version.platform=='android'){
			request.get(api.checkForUpdatesUrl,data,{token:true}).then((res)=>{
				if(res){
					if(res.renew){//需要更新
						//heatUpdate1热更新 0整包更新
						if(res.heatUpdate==0){//整包更新
							//设置版本更新内容到全局变量
							store.commit('setUpdateData',res);
							callback(1)
						}else if(res.heatUpdate==1){//热更新
							uni.downloadFile({
							    url: res.address, 
							    success: (res2) => {
							        if (res2.statusCode === 200) {
										//立即安装 不强制安卓，需要匹配版本号
										plus.runtime.install(res2.tempFilePath,{force:true},()=>{  
										    uni.showModal({
										    	title: '安装成功',
										    	content: '安装成功,重新启动生效,是否立即重新启动？',
										    	cancelText: '取消',
										    	confirmText: '立即重启',
										    	success: res3 => {
													//用户点击确定
													if (res3.confirm) {
														plus.runtime.restart();//重新启动应用
													}
												},
										    });
										},(e)=>{  
										    console.log("failed: "+e.message);  
										});
							        }
							    },
								fail:(err)=>{
									console.log('下载中断')
								}
							});
							callback(2)
							/* uni.showModal({
								title: '检测到更新',
								content: '检测到热更新,是否立即下载更新？',
								cancelText: '不更新',
								confirmText: '立即更新',
								success: res => {
									if (res.confirm) {
										
									} else if (res.cancel) {
									    console.log('用户点击取消');
									}            
								},
								fail: () => {},
								complete: () => {}
							}); */
						}
					}else{callback(0)}
				}else{callback(3)}
			}).catch(err => {
				console.log(err);
				uni.showToast({
					title: '发生错误',
					icon: 'none'
				});
				callback(3)
				plus.nativeUI.closeWaiting();
			})
		}
	},
	//毫秒转日期 年-月-日 时:分:秒   参数为毫秒数，如无参数则取当前毫秒数
	getDateAndTime:function(m){
		let d=m||new Date().getTime();
		let dd=new Date(d);
		let year=dd.getFullYear();//年
		let month=dd.getMonth()+1;//月
		let day=dd.getDate();//日
		let hour=dd.getHours();//时
		let minute=dd.getMinutes();//分
		let seconds=dd.getSeconds();//秒
		month = month > 9 ? month : '0' + month;
		day = day > 9 ? day : '0' + day;
		hour = hour > 9 ? hour : '0' + hour;
		minute = minute > 9 ? minute : '0' + minute;
		seconds = seconds > 9 ? seconds : '0' + seconds;
		return `${year}-${month}-${day} ${hour}:${minute}:${seconds}`;
	},
	//毫秒转日期 年-月-日   参数为毫秒数，如无参数则取当前毫秒数
	getDates:function(m){
		let d=m||new Date().getTime();
		let dd=new Date(d);
		let year=dd.getFullYear();//年
		let month=dd.getMonth()+1;//月
		let day=dd.getDate();//日
		month = month > 9 ? month : '0' + month;
		day = day > 9 ? day : '0' + day;
		return `${year}-${month}-${day}`;
	},
	//毫秒转日期 年-月 参数为毫秒数，如无参数则取当前毫秒数
	getYearAndMonth:function(m){
		let d=m||new Date().getTime();
		let dd=new Date(d);
		let year=dd.getFullYear();//年
		let month=dd.getMonth()+1;//月
		month = month > 9 ? month : '0' + month;
		return `${year}-${month}`;
	},
	//毫秒转日期 年 参数为毫秒数，如无参数则取当前毫秒数
	getYears:function(m){
		let d=m||new Date().getTime();
		let dd=new Date(d);
		let year=dd.getFullYear();//年
		return `${year}`;
	},
}